﻿//
//
// 版权所有 (c) 2021-2023 JR  
//
// 特此免费授予获得本软件的任何人以处理本软件的权利，但须遵守以下条件：在所有副本或重要部分的软件中必须包括上述版权声明和本许可声明。
//
// 软件按“原样”提供，不提供任何形式的明示或暗示的保证，包括但不限于对适销性、适用性和非侵权的保证。
// 在任何情况下，作者或版权持有人均不对任何索赔、损害或其他责任负责，无论是因合同、侵权或其他方式引起的，与软件或其使用或其他交易有关。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace EMC.VISITOR.Core;
/// <summary>
/// 自动任务日志表
/// </summary>
[SugarTable(null, "自动任务日志表")]
[SugarIndex("i_logtask_type", nameof(Logtype), OrderByType.Asc)]
[LogTable]
public class SysLogAutoTask : EntityBase
{
    [SugarColumn(ColumnDescription = "Id", IsPrimaryKey = false, IsIdentity = false)]
    public override long Id { get; set; }
    [SugarColumn(IsNullable = true, ColumnDescription = "日志类型")]
    public string Logtype { get; set; }
    /// <summary>
    /// 任务名称
    /// </summary>
    [SugarColumn(ColumnDescription = "任务名称", Length = 128)]
    [MaxLength(128)]
    public string? TaskName { get; set; }

    [SugarColumn(IsNullable = true, ColumnDescription = "请求报文", ColumnDataType = StaticConfig.CodeFirst_BigString)]
    public string Request { get; set; }
    [SugarColumn(IsNullable = true, ColumnDescription = "返回报文", ColumnDataType = StaticConfig.CodeFirst_BigString)]
    public string Response { get; set; }
    [SugarColumn(IsNullable = true, ColumnDescription = "错误信息", ColumnDataType = StaticConfig.CodeFirst_BigString)]
    public string Error { get; set; }
    [SugarColumn(IsNullable = true, ColumnDescription = "描述信息", ColumnDataType = StaticConfig.CodeFirst_BigString)]
    public string Message { get; set; }
    /// <summary>
    /// 耗时
    /// </summary>
    [SugarColumn(ColumnDescription = "耗时")]
    public string Elapsed { get; set; }

    [SugarColumn(IsIgnore = true)]
    public override bool IsDelete { get; set; }

    [SugarColumn(IsIgnore = true)]
    public override DateTime? UpdateTime { get; set; }

    [SugarColumn(IsIgnore = true)]
    public override long? CreateUserId { get; set; }

    [SugarColumn(IsIgnore = true)]
    public override long? UpdateUserId { get; set; }
}
